Saltar al contenido principal

7.3.2 Crear una orden de pago con código de escaneo con una cantidad limitada de moneda digital (tipo de cambio definido por el comerciante)

#Breve descripción: Interfaz comercial de recarga de moneda digital, los usuarios pueden recargar USDT (Tether) a su cuenta de billetera digital escaneando el código QR (tipo de cambio personalizado del comerciante, debe iniciar sesión en la configuración de backend del comerciante)

Parámetros de solicitud​
Nombre del parámetroTipoObligatorioSignificado del parámetroDescripción del parámetro
keystringSíClave de comercianteapiKey
localOrderIdstringSíNúmero de pedido local de la plataforma comercialLa plataforma comercial genera un número de pedido único a nivel local
localUserIdstringNoID de usuario local de la plataforma comercialID de usuario local de la plataforma comercial
notifyUrlstringNoDirección de devolución de llamadaUna vez realizado correctamente el pedido, la dirección del comerciante será notificada mediante una devolución de llamada API (los detalles de la devolución de llamada se encuentran en la parte inferior)
successRedirectUrlstringNoDirección de saltoSaltar automáticamente a la dirección después del éxito
userCurrencystringSíMonedaLa moneda que el usuario necesita para pagar (la billetera admite monedas digitales)
quoteCurrencystringSíMoneda de cotización personalizadaMoneda de cotización personalizada (debe iniciar sesión en el backend del comerciante para establecer el tipo de cambio de la moneda de cotización)
quoteAmountnumberSíMonto de cotización personalizadoImporte del precio del pedido
isBlockchainbooleanNoYa sea para devolver información de blockchain (falso predeterminado)Cuando sea verdadero, la solicitud de devolución de llamada llevará la información de la transacción en la cadena de pedidos
networkLimitsarrayNoRed principalRed principal de pago designada, como TRON, BSC, POLYGON, ETHEREUM
expireSecondLongNoMarca de tiempo de vencimiento (segundos)
signstringSíFirmaConsulte Algoritmo de firma para obtener más detalles
Solicitar muestra json​
{
"key": "dNNTJZpgFVWlYrVv",
"localOrderId": "CONANTEST01140",
"userCurrency": "USDT",
"quoteCurrency": "CNY",
"quoteAmount": "20",
"networkLimits": ["TRON", "BSC"],
"sign": "401c6541a4ba99794981233794f29a56"
}

Ejemplo de respuesta json

{
"code": 0,
"success": true,
"message": null,
"data": {
"orderId": 474108977750213,
"localUserId": null,
"localOrderId": "CONANTEST01140",
"orderType": "PAYMENT",
"orderBizType": "PAYMENT_FIXED_DIGITAL_SCAN",
"paymentUrl": "https://dxpay.dxstudio.org/fixed-amount-pay/JhpkZduKiBYPyn3WhobAWJnzwLMmvWxGwqrBFTRRDBf6VX7UUJeqL52ERxX6",
"publicKey": "JhpkZduKiBYPyn3WhobAWJnzwLMmvWxGwqrBFTRRDBf6VX7UUJeqL52ERxX6",
"currency": "CNY",
"userCurrency": "USDT",
"amount": "20",
"userReceivableAmount": "1.83",
"rate": "10.9",
"rateExpression": "1USDT≈10.9CNY"
}
}

La URL de pago devuelta muestra la página de pago, como se muestra a continuación: ![img](/dx-docs/7- 7、数字币代收(充值)/7.3 数字币限定金额扫码支付/CustomizeUsdt.jpg)

descripción del parámetro de datos​
Nombre del parámetroTipoSignificado del parámetroDescripción del parámetro
orderIdstringID de pedido
localUserIdstringID de usuario local del comerciante
localOrderIdstringNúmero de pedido local del comerciante
orderTypeenumTipo de pedidoPAYMENT:支付订单 | WITHDRAW:提款订单
orderBizTypeenumTipo de negocio de pedidoLa descripción del tipo orderBizType es la siguiente
paymentUrlstringDirección de pago
publicKeystringClaveClave de acceso público
currencystringMoneda del pedido
userCurrencystringMoneda de pago del usuario
amountstringImporte del pedido
userReceivableAmountstringImporte a pagar por el usuario
ratestringTipo de cambio
rateExpressionstringOrdenar expresión del tipo de cambio

descripción del tipo orderBizType:​

  1. PAYMENT_WALLET_SCAN Pago con código de escaneo de billetera MINPAY
  2. PAYMENT_TRANSFER depósito directo de dirección vinculante de moneda digital
  3. PAYMENT_ANY_DIGITAL_SCAN Escanee el código QR para pagar cualquier cantidad de moneda digital
  4. FROMDRAW_WALLET retirar dinero a la billetera MINPAY
  5. FROMDRAW_ANY_DIGITAL_WALLET Retirar moneda digital a cualquier billetera
  6. PAYMENT_FIXED_DIGITAL_SCAN pago con código de escaneo de cantidad limitada en moneda digital
  7. BATCH_PAY pago por lotes

Detalles de devolución de llamada​

El método de devolución de llamada es: aplicación POST/json​
Ejemplo de jsonización de parámetros de devolución de llamada​
{
"amount": 1,
"bizType": "PAYMENT_FIXED_DIGITAL_SCAN",
"blockchain": {
"network": "TRON",
"receiverAddress": "TA1jptT16DssYWVGdVyFWxonku6hWK7En3",
"senderAddress": "TPutFhYUQnrRxHSmKVwjp55vgk9QY6r5nS",
"txId": "24d0d0e5d417bd2195c45d64724760ae47fc3b359ee31c5fedf25b40f3584b36"
},
"currency": "USDT",
"extra": {
"quoteAmount": 10,
"quoteCurrency": "CNY",
"quotePrice": 10
},
"key": "h3cS7dBltRU4W1wD",
"localOrderId": "2820",
"merchantActualAmount": 22.72,
"merchantCurrency": "CNY",
"merchantId": 303122065665,
"merchantPaidAmount": 7.33,
"notifyTime": 1736744168370,
"orderCreateTime": 1731572133082,
"orderId": "273124814912907",
"sign": "699806308a9e055114c378671b0d2a15",
"status": "SUCCESS",
"type": "WITHDRAW",
"userAmount": 1,
"userCurrency": "USDT",
"userReceivableAmount": 1
}
Nombre del parámetroTipoFirma participanteSignificado del parámetroDescripción del parámetro
amountdecimalSíMonto del pedido
bizTypeenumSíTipo de pedido
blockchainobjectSíInformación de transacciones en cadenaCuando el parámetro de solicitud de pedido esBlockchain es verdadero, la solicitud de devolución de llamada llevará la información de este objeto. (Cuando solo se trata de transacciones en cadena, el parámetro isBlockchain entrará en vigor)
└redStringSíRed principal
└dirección del receptorStringSíDirección del destinatario
└Dirección del remitentedecimalSíDirección de envío
└txIdStringSíID de transacción
currencyStringSíMoneda
keyStringSíClave de comerciante
localOrderIdStringSíNúmero de pedido local
merchantActualAmountdecimalSíMonto de pago real del comerciante
merchantCurrencyStringSíMoneda de pago comercialMoneda predeterminada
merchantIdStringSíIdentificación del comerciante
merchantPaidAmountdecimalSíMonto del pago al comerciante
merchantUserIdStringSíIdentificación de usuario
notifyTimelongSíTiempo de devolución de llamada
orderCreateTimelongSíHora de creación del pedido
orderIdStringSíNúmero de pedido
statusStringSíEstado de pago
typeStringSíTipo de pedidoPAYMENT:支付 WITHDRAW:提款
userAmountdecimalSíMonto del pago del usuario
userCurrencyStringSíMoneda de pago del usuario
signStringNofirma md5Ver algoritmo de firma para más detalles
extraobjectSíContiene los siguientes parámetros
└monto de cotizaciónnumberSíImporte de la cotización del pedido
└citaMonedanumberSíMoneda de cotización del pedido
└presupuestoPreciostringSíPrecio de cotización del pedido
userReceivableAmountstringSíImporte a pagar por el usuario

Cuando reciba la notificación de devolución de llamada, devuelva directamente la cadena éxito después de que se complete el procesamiento, lo que indica que el mensaje se recibió y procesó exitosamente. Después de que el sistema reciba la respuesta exitosa, ya no enviará la devolución de llamada repetidamente. Si no se recibe la respuesta esperada (no se devuelve el éxito o se devuelve una excepción), el sistema reenviará la notificación de devolución de llamada de acuerdo con el mecanismo de reintento escalonado, reintentando hasta 14 veces. Los intervalos de reintento actuales son: 15, 15, 30, 180, 600, 1200, 1800, 1800, 1800, 3600, 10800, 10800, 21600, 21600